package com.inei.cenacom.view;

import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;

import com.inei.cenacom.R;
import com.inei.cenacom.controller.LoginController;
import com.inei.cenacom.model.entity.Login;
import com.inei.cenacom.tools.Mensaje;

public class Login_Activity extends Activity implements OnClickListener {

	Mensaje m;
	Button bIngresar, bSalir;
	Spinner spDepartamento, spUsuario;
	EditText etClave;

	LoginController lCon;
	Login login;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_registro);
		m = new Mensaje(this);
		lCon = new LoginController(this);
		iniciarComponentes();
	}

	public void iniciarComponentes() {
		login = new Login();
		spDepartamento = (Spinner) findViewById(R.id.spDepartamento);
		spUsuario = (Spinner) findViewById(R.id.spUsuario);

		List<String> lDep = lCon.getDEP_ASIG();
		if (lDep != null) {
			ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
					android.R.layout.simple_list_item_1, lDep);
			spDepartamento.setAdapter(adapter);
			spDepartamento
					.setOnItemSelectedListener(new OnItemSelectedListener() {

						@Override
						public void onItemSelected(AdapterView<?> arg0,
								View view, int pos, long arg3) {
							// TODO Auto-generated method stub
							cargarUsuario();
						}

						@Override
						public void onNothingSelected(AdapterView<?> arg0) {
							// TODO Auto-generated method stub

						}

					});
		}

		etClave = (EditText) findViewById(R.id.etClave);
		bIngresar = (Button) findViewById(R.id.bIngresar);
		bIngresar.setOnClickListener(this);
		bSalir = (Button) findViewById(R.id.bSalir);
		bSalir.setOnClickListener(this);
	}

	public void cargarUsuario() {
		List<String> lUsuario = lCon.getUSUARIO(spDepartamento
				.getSelectedItem().toString());
		if (lUsuario != null) {
			ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
					android.R.layout.simple_list_item_1, lUsuario);
			spUsuario.setAdapter(adapter);
		} else {
			ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
					android.R.layout.simple_list_item_1,
					new String[] { "SELECCIONAR" });
			spUsuario.setAdapter(adapter);
		}
	}

	@Override
	public void onClick(View view) {
		switch (view.getId()) {
		case R.id.bIngresar:
			if (spDepartamento.getSelectedItemPosition() == 0) {
				m.Error("DEBE SELECCIONAR EL DEPARTAMENTO ASIGNADO");
				return;
			} else if (spUsuario.getSelectedItemPosition() == 0) {
				m.Error("DEBE SELECCIONAR SU USUARIO");
				return;
			}else if(etClave.getText().toString().isEmpty()){
				m.Error("DEBE INGRESAR LA CLAVE DE USUARIO");
				return;
			}
			login.setDEP_ASIG(spDepartamento.getSelectedItem().toString());
			login.setUSUARIO(spUsuario.getSelectedItem().toString());
			login.setCLAVE(etClave.getText().toString().toUpperCase());

			login = lCon.buscar(login);
			if (login.getNRO() != 0) {
				Intent irMarco = new Intent(this, Marco_Activity.class);
				Bundle b = new Bundle();
				b.putString("DEP_ASIG", login.getDEP_ASIG());
				b.putString("USUARIO", login.getUSUARIO());
				irMarco.putExtras(b);
				startActivity(irMarco);
				finish();
			} else {
				m.Error("CLAVE INCORRECTA");
			}
			break;
		case R.id.bSalir:
			finish();
			break;
		default:
			break;
		}
	}

}
